上一篇 forEach 方法現身了,因此本篇就要來介紹一下控制流程,包含了條件控制與循環控制。
if - else 條件控制
直接看範例:
void main() {
var age = 16;
if (age >= 18) {
print('You can buy beer!');
} else {
print('You can not buy beer!');
};
}
這是一個判斷年齡是否滿 18 歲,決定能不能買啤酒的條件控制,if 後的小括弧中寫的是判斷式,判斷式結果必須是 boolean 值,若為 true,就執行 {} 中的程式碼,若為 false,則執行 else {} 中的程式碼。
當然也有多條件的狀況下,這時候就可以再加上 else if (condition) {} ,一樣使用判斷式來決定是否符合條件要執行其中的程式碼。
而如果有過多的條件判斷的話,則比較建議採用 switch 的多條件判斷控制~
switch 條件控制
看到 switch 於是乎我就想了一個 switch 的情境例子XD,假設現在我們選擇想玩的遊戲(宣告 game 遊戲名字 ),進入 switch 控制流程後主機就會判斷現在要執行的遊戲,請看以下程式碼:
void main() {
var game = 'Zelda';
switch (game) {
case 'Mario Party':
print('來玩馬力歐派對吧!');
break;
case 'Mario Kart':
print('來玩馬力歐賽車吧!');
break;
case 'Zelda':
print('來玩薩爾達傳說吧!');
break;
default:
print('你的主機裡沒有這款遊戲,快去購買這款遊戲吧!');
}
}
case 後面的資料與 game 的值符合,代表條件成立,進入執行程式區塊,而預設 default 可以在所有 case 條件都不成立時,執行預設的動作。
再提一個,每個 case 結尾加上 break,讓程式可以執行到該行後跳出流程,不會再往下一個 case 走~
來看看上面程式碼執行的結果吧!(現在還有人在玩嗎?還是應該都在玩漆彈三)
下一位是循環控制 (Loop)
Dart 有兩個主要的循環控制,分為 for loop 與 while loop
for loop
void main() {
for (var i = 0; i < 10; i++) {
print(i);
}
}
上面的程式碼執行一個簡單的 for 迴圈,會依序印出 0 - 9 的輸出結果,for 迴圈中分為三部份
while loop
void main() {
var a = 0;
while (a < 10) {
print(a);
a++;
}
}
猜猜看這個 while 迴圈會輸出什麼呢? 對!就是跟上面的 for loop 一樣,會依序印出 0 - 9 的輸出結果,while () 中為判斷式,如果結果為 true,就會執行 {} 中的程式碼並重複執行迴圈,因此 while 迴圈的條件設計要注意,否則一不小心就會陷入無窮迴圈 ∞∞∞∞
一次看看兩個 loop 的輸出吧~
而 for loop 跟 while loop 也有分別適合的使用時機,我自己的判斷方式是如果今天我知道迴圈要跑幾次(如已知迭代的對象的長度)那我就會優先使用 for 迴圈~
OK!我們明天見~